/*
Problem Description
某核反应堆有两类事件发生：
高能质点碰击核子时，质点被吸收，放出3个高能质点和1个低能质点；
低能质点碰击核子时，质点被吸收，放出2个高能质点和1个低能质点。
假定开始的时候（0微秒）只有一个高能质点射入核反应堆，每一微秒引起一个事件发生(对于一个事件，当前存在的所有质点都会撞击核子)，试确定n微秒时高能质点和低能质点的数目。
Input
输入含有一些整数n(0≤n≤33)，以微秒为单位，若n为-1表示处理结束。
Output
分别输出n微秒时刻高能质点和低能质点的数量，高能质点与低能质点数量之间以逗号空格分隔。每个输出占一行。
Sample Input
5 2
-1
Sample Output
571, 209
11, 4

 */
package com.yuan.algorithms.practice201512;

import java.util.Scanner;

/**
 * @author YouYuan
 * <br>E-mail:1265161633@qq.com
 * <br>创建时间：2015年12月19日 上午9:24:57
 * <br>说明:
 */
public class 核反应堆 {

	static Scanner in = new Scanner(System.in);
	public static void main(String[] args) {
		while(in.hasNext()) {
			int n = in.nextInt();
			if (n == -1) {
				break;
			}
			long hight = 1;
			long low = 0;
			for (int i = 0; i < n; i++) {
				long temph = hight * 3 - hight;
				temph += low * 2;
				low += hight;
				hight += temph;
			}
			System.out.println(hight+", "+low);
		}
	}

}
